package com.dys.testgeneric04;

import java.util.ArrayList;
import java.util.List;

/**
 * @className: com.dys.testgeneric04.StudentTest
 * @description: com.dys.testgeneric04
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/01 下午10:13
 */
public class StudentTest {

    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        // list1、list2、list3是并列关系
        List<Object> list1 = new ArrayList<Object>();
        List<BasePerson> list2 = new ArrayList<>();
        List<Student> list3 = new ArrayList<>();

        /*
         * 开始使用泛型受限：泛型的上限
         * List<? extends BasePerson>: 相当于List<? extends BasePerson>是List<BasePerson>的父类，是List<BasePerson>的父类
         * */

        List<? extends BasePerson> list4 = null;
        // list4=list1;
        list4 = list2;
        list4 = list3;

        /*
         * 开始使用泛型受限：泛型的下限
         * List<? super BasePerson>: 相当于：List<? super BasePerson>是List<BasePerson>的父类, 是List<BasePerson的父类>的父类
         * */

        List<? super BasePerson> list5 = null;
        list5 = list1;
        list5 = list2;
        // list5 =list3;
    }
}
